home *** CD-ROM | disk | FTP | other *** search
Text File | 1989-03-17 | 75.9 KB | 1,783 lines |
-
-
-
-
- Opus v. 2.00
- --------------
- Spreadsheet and Charting program
- for the Atari ST
-
- by Doug Harrison
-
-
- >>> Introduction
-
- Opus is a GEM spreadsheet and charting program, which I think
- you'll find powerful, fast, and easy to use. In order to keep this
- documentation to a reasonable length, I'll focus primarily on
- description of features, rather than provide a full tutorial
- (which probably isn't needed). Some of you may be familiar with
- the original version of Opus, which appeared in the Sept. 1988
- ST-Log. If you fall into this category, great! You can skip over
- the majority of the spreadsheet description, but please be sure to
- read the section on charts and the files INSTALL.DOC and
- CHANGES.DOC.
-
-
- >>> Shareware
-
- Opus versions 2.00 and above are shareware. Opus version 2.00 is
- the result of about 8-9 months of additional work and includes
- many new features above and beyond the original; the charting
- facility is completely new, and the spreadsheet is much faster in
- all operations (for a description of most of the changes and
- additions, please see the file CHANGES.DOC). I plan on supporting
- Opus with at least one or two upgrades, and I will be available to
- answer questions through the mail and on Compuserve and GEnie. If
- you find Opus useful and wish to support my efforts, you can send
- a check for $15 (or whatever you feel the program is worth!) to:
-
- Doug Harrison
- P.O. Box 66236
- Baton Rouge, LA 70806-6236
-
- For quick response to questions, my Compuserve ID is 72277,2315
- and my GEnie mailbox address is D.S.HARRISON. There also is (or
- soon will be) an Opus topic in Category 2 of the GEnie message
- base.
-
-
- >>> Distribution Policy
-
- You may freely distribute Opus (and please do), as long as all
- files and notices are included. It may be included as part of
- "shareware disks" provided by various groups, as long as no fee
- beyond media costs is charged.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- >>> Running Opus
-
- IF YOU READ NOTHING ELSE, PLEASE, PLEASE READ INSTALL.DOC!!!! Read
- it NOW, before you try to run Opus! It really and truly DOES
- contain ESSENTIAL information, OK?! (forgive my tone, I'm just
- speaking as I need to be spoken to...)
-
- Here's a list of the files Opus tries to load when it's executed,
- in order:
-
- 1. OPUSMONO.RSC or OPUSCOLR.RSC (depending on monitor in use)
- 2. PRINTER.INF (printer control codes)
- 3. OPUS.CNF (configuration file, explained later)
- 4. screen fonts, provided GDOS is present
- 5. OPUS.WID (printer font widths file)
-
- Opus doesn't need to access the disk it was loaded from once it
- has booted. However, when printing charts on a floppy-based
- system, the disk containing the GDOS files must be present in the
- boot drive. Please see the section "Printing Charts" for details.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- March 12, 1989 p. 2 Opus v. 2.00
-
-
-
-
-
- ///////////////////////////////////////////////
- ///// Worksheets /////
- ///////////////////////////////////////////////
-
-
-
- Now that you've got Opus up and running, you should have a blank
- worksheet on your screen. Let's first take a look at "The Panel",
- the area directly underneath the menu bar.
-
-
- >>> The Panel
-
- The Panel contains the following items, from left to right:
-
- 1. the active cell or cell cursor location
- 2. an icon area, containing the "cell deletion" icon and
- the "data entry" icon (the X and check-mark icons,
- respectively)
- 3. the edit area, in which you enter data, consisting of two
- 50 column lines.
-
- The panel also may contain up to three additional icons, and these
- indicate various states. First, the "Circ" icon may appear should
- you enter a formula that contains or makes a circular cell
- reference (this icon may show up as "???" if Opus can't determine
- circularity- more on this later). Second, if the cell cursor is
- moved into a hidden cell, the "H" icon will appear. Finally, the
- "P" icon appears when the cell cursor is in a protected cell. A
- click on the "Circ" icon will present you with an alert box
- indicating the cell containing the circular reference, while
- clicking on the "H" or "P" icons will unhide or unprotect the
- active cell.
-
- If you want to delete the currently active cell, click on the
- cell-deletion icon. Similarly, to complete data entry into a cell,
- click on the data entry icon or press RETURN, ENTER, or any of the
- cursor keys.
-
-
- >>> Data Entry
-
- Opus supports the three traditional spreadsheet cell classes:
- numbers, labels, and formulas. Unlike other spreadsheets which
- require you to precede a label with the apostrophe or formulas
- with plus or equal signs, Opus uses the function keys F8, F9, and
- F10 to change cell class. You may also perform this action from
- the Edit menu. Look under the Edit menu now, and note many items
- have keyboard equivalents. All menu items with corresponding
- keyboard commands have the commands listed to their right. If
- you're unsure of the meaning of some of the symbols, please look
- under the Help menu item and click on the Keyboard entry. Here,
- you will also find all the ways you can move about the
- spreadsheet. For a list of the various mouse functions, please
- refer to the Help item Mouse.
-
-
-
-
-
- March 12, 1989 p. 3 Opus v. 2.00
-
-
-
-
-
- >>> Cell Format
-
- Opus offers many options for cell format, and they are found under
- the Edit menu item. All but the number formatting options are
- found in the same dialog, and both of these dialogs reflect the
- state of the active cell when they are first displayed. To display
- this dialog, click on Justification under the Edit menu. The
- Justification button will be selected, indicating that this
- parameter is the one that will be changed. In order to alter the
- text style, for example, you must select that button as well. Now,
- consider the "extent" buttons, which allow you to specify whether
- the format changes should affect only one cell, a range, or the
- entire worksheet. For example, to change the justification of a
- range without altering other formatting within the range, make
- sure that the Justification button is the only one selected when
- you click on OK or press RETURN. Please note that the sparse
- matrix design requires any cell containing data or a format
- differing from the global format to *exist*, which means that it
- consumes memory. This makes it impossible to format an arbitrarily
- large range. However, you may certainly change the default cell
- format through the "Global" option, affecting all existing cells
- and all cells entered thereafter.
-
-
- >>> Number Format
-
- Now, pull down the Edit menu and click on Number. This dialog
- functions just like the previous one; to select an attribute to be
- changed, you must click on its title. For example, to turn off
- commas, click on the line "Suppress Commas?", click on the box to
- its right (checking it), and then press OK or hit RETURN.
- Likewise, if you wish to change the precision, click on the
- "Precision" title. The "Format Strings" option allows you to
- specify a string that will be output on all numeric or formula
- cells possessing that attribute. For example, you could specify a
- format string "Part #", and any cell having that as part of its
- number format would be display as "Part #xxx", where xxx is its
- value. You can use the reverse apostrophe "`" (the key to the left
- of Backspace) to specify the value position within the format
- string; the default is to append the value to the end of the
- string. In order to make a new format string, click on the "Edit
- box," and then type in the string. When you're done, click on
- "Add." The string will appear in the scrollable list. To make the
- string part of a cell's format, click on the string within the
- scrollable list and also on the "Format Strings" title before
- exiting the dialog.
-
- The "Global Upper and Lower Limits" fields contain the values
- above and below which the cells will display as scientific
- notation. For example, if the global lower limit is 1E-3, any cell
- containing a value whose magnitude is less than 0.001 (but not
- equal to zero) will be displayed in scientific notation.
-
- Note: Many Opus dialogs use a worksheet range as a parameter. If a
- range was selected before the dialog was invoked, that range will
- appear in the "Begin" and "End" fields in the dialog. In the case
- of the format dialogs, the "Range" button will also be
- preselected. If a range was not selected, however, the extent of
-
-
- March 12, 1989 p. 4 Opus v. 2.00
-
-
-
-
-
- the format dialogs will be set to "Cell," meaning that the active
- cell alone will be affected (provided you don't override this). In
- the case of the Number format dialog, the "Use All" button will be
- preselected as well, so that you needn't click on all the
- attribute titles you want to alter.
-
-
- >>> Block Commands
-
- A block or range is simply a rectangular group of one or more
- cells. You can select a block by dragging the mouse or clicking on
- the Start and End Block items under the Block menu. If you're
- using the mouse, the worksheet will scroll if you move off the
- working area. When a block is selected, several worksheet
- functions become available. The Show First Cell and Show Last Cell
- items under the Marks menu change to Show Block Start and Show
- Block End. Under the Block menu, Copy, Move, and Delete Block
- become available. Before discussing the items under the Block
- menu, let's take a look at the difference between relative and
- absolute cell references.
-
-
- >>> Cell References
-
- Cell references within formulas are divided into relative and
- absolute types. A relative cell reference is written as A1, while
- absolute cell references are written as $A1, A$1, or $A$1. The
- dollar sign indicates whether the row or column part of the
- reference is to be considered absolute, meaning that it is "cast
- in stone" and will never be altered by any worksheet function,
- such as Move Block, Replicate Cell, or Insert Row. To clarify,
- consider the worksheet below:
-
- A B
- 1 1 A1+1
- 2 B1+1 A2+1
-
- If you selected the range A1:B2 and then chose to move it to cell
- A3, the resultant worksheet would appear as follows:
-
- A B
- 1
- 2
- 3 1 A3+1
- 4 B3+1 A4+1
-
- As you can see, the relationships between the formulas have
- remained intact. Were those cell references absolute, they would
- not have been altered by the move.
-
- Note that several worksheet functions give you the option to
- consider *all* cell references as absolute, and these include Copy
- and Move block, Insert and Delete row/column, and Replicate Cell.
-
-
-
-
-
-
-
- March 12, 1989 p. 5 Opus v. 2.00
-
-
-
-
-
- >>> Copy and Move Block
-
- These functions, along with Delete Block, are only available when
- a block is selected. So, to copy or move a block, first select
- one, and then move the cell cursor to the cell you wish to be the
- upper-left corner of the destination block. When you choose one of
- these, you will first be asked to confirm your selection, as there
- is no "Undo" function. Then, you will be asked whether to treat
- all cell references as absolute, including the relative ones.
- Generally, you'll want to choose "Relative," so that only the true
- absolute references will be considered absolute. And in any event,
- a relative reference will only be adjusted provided it points to a
- cell contained within the selected range, which consequently also
- changes position. As a final point, be aware that cells *outside*
- the source range containing formulas with cell references pointing
- within the source range will *not* be altered, even if the range
- is moved. For example, suppose cell F1 references cell A1, and you
- move the range A1:B2 to cell A3. F1 will continue to reference
- cell A1.
-
-
- >>> Delete Block
-
- Permanently deletes a block.
-
-
- >>> Insert and Delete Row/Column
-
- These functions allow you to specify whole or partial row and
- column insertion and deletion. As an illustration of "partial," a
- partial row is defined as follows. First, if no block is selected,
- the partial row extends from the active cell to the rightmost cell
- in that row. If a block is selected, then the partial row extends
- from the upper-left cell in the block to the rightmost cell in
- that row and within the block. For the sake of the operation, a
- "virtual block" is defined as consisting of the partial row plus
- all partial rows below it. A partial column is defined in an
- analogous manner. This allows a rather flexible definition of the
- extent of these operations, so that, for example, it's easy to
- insert a row at row #18, confined to columns F and G, rather than
- extending over the entire worksheet space (columns A..IU). Without
- the "partial" option, you would have to select the range F18:G998
- and then move it to cell F19.
-
- Note: These operations are really block moves, and the description
- of the handling of cell references for block moves applies here as
- well.
-
-
- >>> Data Fill
-
- This function fills a range with numbers, beginning at some
- initial value to which some increment value is added for each
- cell. You specify the direction of the data fill as "Right" or
- "Down."
-
-
-
-
-
- March 12, 1989 p. 6 Opus v. 2.00
-
-
-
-
-
- >>> Replicate Cell
-
- This function copies a cell throughout a range. If the cell
- contains a formula, then relative cell references are adjusted,
- provided you haven't click on the "Absolute" button in the dialog.
- Note that it doesn't matter whether cell references point to cells
- within the selected range, as it does for block copying and
- moving.
-
-
- >>> Sort
-
- This function uses the ShellSort algorithm to sort a range on a
- row or column basis. For example, consider the range A1:C10, which
- is to be sorted by row. For "Key Cell," I specify cell B1, meaning
- cells in column B are compared. Then rows 1-10 are sorted based on
- the values in column B, for columns A-C. You may also specify
- ascending (low to high) vs descending (high to low) as the "sense"
- of the sort. The precedence of cells is as follows, from lowest to
- highest:
- 1. Empty cells
- 2. Values (numeric or formula cells)
- 3. Labels.
- Note that relative cell references in formulas aren't affected by
- the sorting operation (in other words, any cell reference is
- treated as if it's absolute).
-
-
- >>> Auto Cursor
-
- To illustrate this feature, select a range and position the cursor
- anywhere within it, except the last cell. Now press RETURN, and
- observe, the cursor advances to the next cell. You may specify the
- direction for the auto cursor through the Options menu, and you
- may also turn it off. This feature comes in really handy when you
- have a lot of numbers to enter, as you can first select a range
- and then enter the data solely through the numeric keypad. The
- worksheet also scrolls properly if the range extends beyond the
- displayed portion.
-
- And that about does it for the block operations. Let's forge ahead
- and consider formulas and functions, but first a few words about
- recalculation modes.
-
-
- >>> Recalculation
-
- Opus provides natural order recalculation, meaning that during
- evaluation of a formula, any cell references are calculated before
- their values are used. This ensures that formulas containing
- references to other cells are calculated based upon up to date
- values.
-
- Opus also provides an automatic recalculation feature, meaning
- that if you change the value of a cell that is referenced by some
- formula, that formula will be recalculated automatically. This is
- a little different from other spreadsheets that provide a similar
- function, in that Opus doesn't recalculate the entire spreadsheet,
-
-
- March 12, 1989 p. 7 Opus v. 2.00
-
-
-
-
-
- but rather, just those cells that are affected by the change. This
- method (also called minimal recalculation) can be much faster for
- large worksheets and literally makes this a usable feature. How
- does Opus know what cells are affected? Briefly, each cell that is
- referenced by a formula has a "dependent cell list," and when you
- change the value of such a cell, Opus can traverse this list and
- recalculate all the other cells that depend on the cell's value.
- Note that having a dependent cell list requires a cell to exist,
- meaning it consumes memory. Be aware that range references within
- formulas cause an entry to be placed in the dependent cell list of
- every cell within the range, and the cells will be created as
- necessary. This precludes the use of arbitrarily large ranges in
- formulas, lest you're fond of "out of memory" errors.
-
- Finally, note that you may turn off natural order and automatic
- recalculation through the "Options" menu. With both turned off,
- recalculation proceeds in a row by row fashion, which can be
- useful in some applications (the supplied amortization spreadsheet
- depends on it). Now, it may rarely be necessary to turn off these
- features, so that Opus may complete the recalculation; you will be
- informed of this with a friendly alert box. For example, consider
- the worksheet below:
-
- A B C...........IT IU
- 1 B1+1 C1+1 D1+1.......IU1+1 A2+1
- 2 B2+1 C2+1 D2+1.......IU1+1 A3+1
- .
- .
- 100 B100+1 C100+1 D100+1.....IU100+1 1
-
- In order to calculate cell A1 using natural order, the value of
- cell B1 must be known. But to calculate B1, the value of C1 must
- be known. And so on, for 25,500 cells. Essentially, this involves
- a recursive algorithm, that is, a function that calls itself. If
- this function was allowed to call itself 25,500 times without
- returning in the meantime, the machine would surely crash. But
- don't worry, this can't happen in Opus 2.00; at worst, you will be
- informed of this state with an alert, "Stack is nearing
- overflow...", and you should then turn off natural order and/or
- automatic recalculation. In general, you'll never see this alert,
- as it requires a fairly large and somewhat contrived spreadsheet
- before it appears. This worksheet also confounds determination of
- circularity for similar reasons; it most definitely will cause the
- "???" icon to appear in the Panel.
-
-
- >>> Global Recalculation
-
- When you select "Recalculate" from the "Options" menu or press F1,
- Opus recalculates the entire spreadsheet, and this is called a
- global recalculation. Natural order will be used, provided it
- hasn't been turned off. However, the state of the automatic
- recalculation mode isn't relevant here, since we're recalculating
- the entire worksheet.
-
-
-
-
-
-
- March 12, 1989 p. 8 Opus v. 2.00
-
-
-
-
-
- >>> Formulas
-
- Formulas in Opus consist of valid arithmetic expressions, composed
- of the following:
-
- - numbers, followed by an optional percent sign
- - cell references
- - arithmetic operators +, -, *, and /
- - logical operators =, <>, <, <=, >, >=
- - unary minus, "-" (i.e. negation operator)
- - functions and their parameter lists, but without the silly
- '@' sign required by other spreadsheets
- - expressions in parentheses.
-
- Numbers have 17 decimal digits of precision, and the range is
- +/- 1E-37 ... +/- 1E37 or thereabouts.
-
- At present, Opus doesn't support strings in formulas or string
- functions; a future update likely will. The maximum formula length
- is 100 characters. Opus follows the usual rules of operator
- precedence, summarized below, from highest to lowest:
-
- - unary minus
- - expressions in parentheses
- - *, /
- - +, -
- - =, <>, <, <=, >, >=
-
- Operators with equal precedence are evaluated left to right, so
- that 6/3/4 is interpreted as (6/3)/4, rather than 6/(3/4).
-
-
- >>> Functions
-
- The heart of any spreadsheet lies in its list of functions; Opus
- provides some 59 functions, which I will divide into the following
- categories: Arithmetic, Power, Trig, Logical, Statistics,
- Regression, Probability, Financial, Lookup, Cell, Range, and
- Miscellaneous. Please note that range references are written as
- two cell references separated by the colon, as in "A1:F5".
-
-
- >>> Arithmetic
-
- - DIV, MOD (numerator, denominator)
-
- These are division and modulus functions that satisfy
- the equation below (for both real and integer values):
-
- x = DIV(x,y)*y+MOD(x,y)
-
- - ABS (expr)
-
- Returns the absolute value of expr.
-
-
-
-
-
-
- March 12, 1989 p. 9 Opus v. 2.00
-
-
-
-
-
- >>> Power
-
- - LN (expr)..............natural logarithm (base e)
- - LOG (expr).............log base 10
- - EXP (expr).............e raised to a power
- - POW (expr1,expr2)......expr1 raised to expr2 power
- - SQR (expr).............square
- - SQRT (expr)............square root
-
- >>> Trig
-
- All the trig functions (except RAD) expect angles to be
- specified in radians, and the inverse trig functions return a
- radian value.
-
- - SIN, COS, TAN (angle)........sine, cosine, tangent
- - ASIN, ACOS, ATAN (expr)......inverse functions
- - SINH, COSH, TANH (angle).....hyperbolic sin, cos, tan
- - ASINH, ACOSH, ATANH (expr)...inverse functions
- - RAD (angle in degrees).......returns angle in radians
- - DEG (angle in radians).......returns angle in degrees
- - PI().........................returns pi
-
- >>> Logical
-
- Operators: =, <>, <, <=, >, >=
-
- IF (condition, action, alternate action)
-
- The three IF parameters may be any valid expression,
- including nested IFs. IF returns the value of "action"
- when condition evaluates to non-zero, and it returns
- "alternate action" when condition evaluates to zero.
-
- AND (expr1, expr2, expr3, ...)
-
- Returns 1 if all parameters are non-zero, and 0 if any
- evaluate to zero.
-
- OR (expr1, expr2, expr3, ...)
-
- Returns 1 if any parameter is non-zero, and 0 only if
- all evaluate to zero.
-
- NOT (expr)
-
- Returns 1 if expr evaluates to zero, and 0 if expr
- evaluates to non-zero.
-
- Both AND and OR require at least two parameters.
-
- >>> Statistical
-
- - SUM (range)
-
- Computes sum of all values within range. Empty cells and
- labels are considered to have value 0.
-
-
-
- March 12, 1989 p. 10 Opus v. 2.00
-
-
-
-
-
- - PROD (range)
-
- Computes product of all values within range. Empty cells
- and labels are considered to equal 1. Should the range
- contain no values, PROD returns 0.
-
- - MEAN (range)
-
- Computes the mean or average of all values within range.
- Empty cells and labels aren't considered.
-
- - VAR (range)
-
- Computes the sample variance for range, ignoring empty
- cells and labels.
-
- - SDEV (range)
-
- Computes the sample standard deviation for range,
- ignoring empty cells and labels.
-
- - SERR (range)
-
- Computes the sample standard deviation of the mean (the
- standard error) for range, again ignoring empty cells
- and labels.
-
- - MAX, MIN (range)
-
- Return the maximum and minimum values within the range.
-
- - COUNT (range)
-
- Returns the number of cells containing values within
- range.
-
- >>> Regression
-
- Note that these three functions all require the "Type"
- parameter, which is explained under REGR.
-
- - REGR (type, y-range, x-range)
-
- Performs linear regression via the least squares method
- on any of the following models:
-
- Type Equation Model
-
- 0 y = Mx+B Linear
- 1 y = Be^(Mx) Exponential
- 2 y = B+M*ln(x) Logarithmic
- 3 y = Bx^M Power
-
- Please note that Opus performs the proper transformation
- on the data for you, so you aren't required to have a
- separate column for e^x to use the exponential model,
- for example. REGR returns the value "M" in the cell
- containing the formula and the value "B" in the cell
-
-
- March 12, 1989 p. 11 Opus v. 2.00
-
-
-
-
-
- immediately to its right. "B" will overwrite this cell,
- so make sure you store no data there!
-
- - PREDV (type, y-range, x-range, x-expr)
-
- This function calculates the value "y" based on the
- regression parameters M and B for the value "x-expr". Be
- aware it is more time and memory efficient to simply
- plug the number into the proper equation, provided of
- course you have already determined M and B through REGR.
-
- - CORR (type, y-range, x-range)
-
- CORR rounds out the regression functions. It calculates
- the correlation coefficient, which is a measure of
- goodness of fit.
-
- The regression functions allow empty cells within their
- ranges. X and y values are associated by their cell locations
- within their respective ranges, not by the number of empty
- cells that may separate them. For example, consider the range
- A1:A5 below:
-
- A B
- 1 1
- 2 empty
- 3 empty
- 4 2
- 5 3
-
- For the sake of the regression calculation, value 1 is cell
- A1, value 2 is cell A2, and so on. It is perfectly legal to
- have an x-value without a corresponding y-value; that x-value
- will simply be discarded from the calculation. However, the
- reverse is not true; should you specify a y-value without a
- corresponding x-value, any of these functions will return an
- error. I chose Opus to work in this manner because in my
- work, I'm often collecting sets of data from several trials
- of the same experiment, where the known values are the same
- from trial to trial. Occasionally, during a trial one of the
- data points gets botched, and it should be discarded from the
- calculation. By simply deleting the cell which would
- otherwise contain that y-value, I can use the same template
- for analyzing all the data sets. (I wish my Hewlett-Packard
- calculator worked this way; instead, it forces me to delete
- any x value without a corresponding y value, altering the
- relationships between other data sets which may be in its
- memory)
-
- Finally, all the regression functions allow ranges spanning
- more than one column or row. Values are associated on a row
- by row basis.
-
- >>> Probability
-
- RAND (lower bound, upper bound)
-
- Returns a random number between the given lower and
-
-
- March 12, 1989 p. 12 Opus v. 2.00
-
-
-
-
-
- upper bounds. The difference between these two numbers
- must be less than 16,277,216, since this is the range of
- the ST's random number generator.
-
- COMB, PERM (x, y)
-
- Combinations and permutations of x objects taken y at a
- time.
-
- >>> Financial
-
- These functions operate somewhat differently from those in
- the original version of Opus. First, all parameters are
- required. Second, I've adopted a convention taken by my HP-
- 27S calculator and also, at least, by the Microsoft
- spreadsheet Excel. This involves breaking down money values
- into cash inflows, which are expressed as positive numbers,
- and cash outflows, expressed as negative numbers. For
- example, the PMT function will normally return a negative
- value, as you are "paying money." I found this method
- confusing at first, but I grew to prefer it, and since I
- (occasionally) like to support standards...
-
- The "type" argument appears in all the financial functions,
- and if equal to 1, it indicates payments occur at the ends of
- periods (ordinary annuities). If type equals 0, payments are
- assumed to occur at the beginning of periods (annuities due).
- Note that for some combinations of arguments, namely those
- implying a simple or compound interest calculation, the type
- field will be meaningless; nevertheless, it is required as a
- place-holder.
-
- The number of compounding periods should be whatever is most
- appropriate; for example, 365*n for daily compounding over n
- years. The rate arguments refer to the interest rate per
- compounding period, so for monthly compounding over 1 year at
- 12% interest, rate would equal 12%/12, or 1%, while # periods
- would equal 12.
-
- For working, real world examples of the financial functions,
- I refer you to the files "FINCALC.OPS" and "AMORTIZE.OPS."
-
-
- - PV (rate, # periods, payment, future value, type)
-
- Computes present value.
-
- - FV (rate, # periods, payment, present value, type)
-
- Computes future value.
-
- - NPER (rate, payment, present value, future value, type)
-
- Calculates number of periods.
-
- - PMT (rate, # periods, present value, future value, type)
-
- Calculates payment.
-
-
- March 12, 1989 p. 13 Opus v. 2.00
-
-
-
-
-
- - RATE (#periods, payment, present value, future value, type,
- guess)
-
- Computes interest rate. RATE uses an iterative method
- (Newton's) to find rate; it requires a "guess value" to
- seed the process, and you should try using a value less
- than what you expect RATE to return. (Good starting
- points for guess are values like 0.01, 0.001, etc.) RATE
- returns an error if it can't find a reasonably accurate
- solution within 20 iterations.
-
- The financial functions are based on the following equation,
- and RATE successfully returns if it finds an interest rate
- that satisfies the equation to an accuracy of 1E-8. (Equation
- from Hewlett Packard 27S calculator manual)
-
- 0 = PV+(1+(i%*S)/100)*PMT*USPV+FV*SPPV,
-
- where
-
- S = payment mode (0 for end mode, 1 for begin mode. Note
- this is exactly opposite to what the functions
- expect as an argument; the value 1 seemed more
- logical than 0 to indicate a date later in the
- period.)
- i% = periodic interest rate
- n = number of compounding periods
- SPPV = (1+i%/100)^-n
- USPV = (1-(1+i%/100)^-n)/(i%/100)
-
- >>> Lookup
-
- - INDEX (row index, column index, range)
-
- INDEX returns the value of a cell within range, located
- by row and column index, which must be numbers greater
- than or equal to one. These indices represent offsets
- into the range, such that the upper-left corner of the
- range has 1,1 for its indices. For example,
- INDEX(1,1,A1:B5) returns the value of A1, while
- INDEX(3,2,A1:B5) returns the value of B3 (row 3 and
- column 2 within the range A1:B5).
-
- - VLOOKUP (value, column index, range)
-
- VLOOKUP searches in the first column of the indicated
- range for the greatest value less than or equal to the
- value you supplied, and it returns the value in the same
- row as this cell, with the column determined by "column
- index" as an offset into the range. Like INDEX above, a
- value of 1 indicates the first column within the range,
- 2 the second, and so on. The function is a "vertical
- lookup," as it searches in the vertical direction. An
- error occurs if no match is found or the index
- references a column outside the block.
-
-
-
-
-
- March 12, 1989 p. 14 Opus v. 2.00
-
-
-
-
-
- - HLOOKUP (value, row index, range)
-
- This function is exactly analogous to VLOOKUP, except
- that it performs a horizontal lookup. That is, it
- searches the first row of the indicated range, looking
- for a value less than or equal to the value you
- supplied, and it returns the value in the same column as
- this cell but in the row indicated by "row index."
- Again, the row index is an offset into the range, such
- that row index = 1 indicates the first row of the range.
-
- >>> Cell
-
- - ISERR (cell ref)
-
- Returns 1 if the cell referenced has an error status and
- 0 otherwise.
-
- - ROW, COLUMN (cell ref)
-
- Return the row and column number of the argument.
-
- >>> Range
-
- - ROWS, COLUMNS (range)
-
- Return the number of rows or columns in the range
- supplied.
-
- >>> Miscellaneous
-
- - FAC (expr)
-
- Computes the factorial of expr, which must be an integer
- such that 0 <= expr <= 33.
-
- - ROUND, TRUNC (expr, place)
-
- These functions take an expression and either round or
- truncate it to the value specified by "place." Place may
- be positive, negative or zero, and I think an example
- will clarify the differences. Consider the number
- 126.556, supplied to ROUND and TRUNC, for the following
- values of place:
-
- expr = 126.556
-
- place ROUND TRUNC
- 2 126.56 126.55
- 1 126.6 126.5
- 0 127 126
- -1 130 120
- -2 100 100
- -3 0 0
-
- As you can see, you can round or truncate within the
- whole number portion of the expression, as well as
- within the fractional portion.
-
-
- March 12, 1989 p. 15 Opus v. 2.00
-
-
-
-
-
- >>> Cell Status
-
- Every living cell has an associated status which tells Opus
- whether it's full, empty, or for some reason generated an error.
- Error-trapping in formula evaluation is extensive, and I think,
- complete. For example, if a formula caused a division by zero, the
- cell will display a "DivBy0" error message, and any cell that
- referenced it will also assume this status upon recalculation.
- There are several other error messages, and they are used
- depending on the nature of the offense. The syntax error is a
- special case; should you enter a formula that's semantically
- incorrect, Opus will "keep you in that cell" and (usually) place
- the cursor near the source of the error in the edit area.
-
- Users of the original version will be glad to hear that Opus will
- no longer crash upon floating point overflows; this was an
- additional benefit of putting Personal Pascal on the shelf and
- rewriting Opus in Mark Williams C. Now, floating point overflows
- will display as "a very large number." There remains only one
- loose end in the error-checking; Mark Williams C is supposed to
- set a certain variable when the library function "pow" overflows,
- and it doesn't. Thus, the spreadsheet function POW and several
- others, including the financial functions, will generate "a very
- large number" upon pow overflow, and the cell status won't reflect
- the error condition. Hopefully, MW Co. will correct this in a
- future compiler update.
-
-
- >>> Named Cell and Range References
-
- Opus v. 2.00 and above support named cell and range references, so
- that you may give a cell or range a friendly English-language name
- for use within formulas. These "aliases" may be up to 10
- characters long; they consist of alphanumeric characters and the
- underscore and may not begin with a numeral. Also, you aren't
- allowed to create a name that duplicates a valid cell reference or
- a function name. Opus supports as many as 100 of these aliases,
- and you create them through the Define Name dialog, which is found
- under the Options menu. To use this feature, enter the name you
- wish to define in the "Name:" line and also the cell or range
- reference (using dollar signs to indicate absoluteness) in the
- "Refers To:" line. Then, add it to the list by clicking "Add." The
- name will appear in the scrollable list (which is always sorted),
- and it will be available for use in functions. To delete a name,
- click on it and then click "Delete." It will be removed, and all
- occurrences of that name within the worksheet will be replaced by
- the underlying explicit cell or range reference. Note that when
- you click on one of the names in the list, Opus places that name
- and its value in the two editable fields below the list. As long
- as you don't alter the name itself, you may then modify the
- "Refers To:" line and click on "Add" to lock in the modification.
- When deleting or altering names, there may be a slight delay as
- Opus performs some housekeeping (converting names to explicit
- references, validating what in effect may be completely new
- formulas, updating dependency lists, etc.). Bear in mind these
- named references behave exactly like explicit ones, following the
- same rules governing adjustment for worksheet operations such as
- copy, move, insert row, and others previously described. You may
-
-
- March 12, 1989 p. 16 Opus v. 2.00
-
-
-
-
-
- notice when copying, moving, or replicating formulas that Opus
- substitutes the explicit reference for the named reference. This
- happens when a named reference needs to be adjusted; there just
- isn't any good way to make a single name point to more than one
- cell or range! However, this substitution will not be applied to
- completely absolute named cells or ranges, since these are never
- adjusted.
-
-
- >>> Files
-
- You may save and load whole worksheets and blocks; block files
- consist solely of data, while worksheet files contain the data,
- all the user settings, and the four charts. A block may be merged
- into the current worksheet, while loading a file causes the
- current worksheet to be erased.
-
- File operations are much faster in Opus 2.00, largely due to use
- of a custom 10 sector buffering scheme. In other words, Opus
- always reads or writes 10 sectors worth of data when it accesses
- the disk, unless of course there simply isn't enough data to fill
- 10 sectors. The speed increase is truly remarkable, and to take
- full advantage of it on floppies, be sure to use a "twisted" disk
- formatted for 10 sectors/track.
-
- Please note that Opus 2.00 files are not compatible with the
- original; too many fundamental changes were made. However, I will
- maintain compatibility with this version in future updates.
-
-
- >>> Printing
-
- You control worksheet printing through the Print dialog, found
- under the File menu. You may enter two title lines, and these will
- appear on the first page only. Opus supports one-line headers and
- footers; you may easily include such things as page number, file
- name, date, and time, and any part of a header and footer may be
- left, right, or center justified. To see how to accomplish this,
- please refer to the Help menu item Print/Save As Text. The only
- really new features here are the margin and lines/page fields;
- margins are specified as number of characters or lines from the
- respective side of the page. For example, a right margin of 5 will
- leave a 5 character margin on the right side of the page. The
- other Print dialog options should be reasonably self-explanatory.
-
- In order for features such as condensed print and draft vs. final
- to work, Opus needs to know the proper control codes for your
- printer. Since these are everything but standardized, I've
- included a program, PRINTDEF.PRG, so that you may customize Opus
- for your printer. Please see the file INSTALL.DOC for details on
- PRINTDEF.
-
- To wrap up this subject, you may also save a file as text, which
- really means print a standard ASCII file to disk. This file will
- include titles, headers, footers, etc., but it will not contain
- any text special effects (naturally).
-
-
-
-
- March 12, 1989 p. 17 Opus v. 2.00
-
-
-
-
-
- >>> Freeze Titles
-
- To freeze a row and/or column, position the cell-cursor in the
- *last* row or column on the screen you wish to freeze. For
- example, suppose you have rows 5 through 20 on the screen, and you
- want to freeze rows 5-15. Place the cell cursor in row 15, and
- choose Freeze Titles from the Options menu. Select Row and press
- OK. Now, you may scroll downwards, while the frozen rows remain on
- screen; you are also prevented from advancing the cursor above row
- 16. This can be very useful when you have labels over several
- lines that you'd like to keep in view at all times. Although
- freezing affects the screen appearance, it has no effect on
- printing.
-
-
- >>> Defaults
-
- Opus 2.00 allows you to save your favorite settings in a
- configuration file, OPUS.CNF, which is loaded at boot-time. This
- file contains default path information, worksheet options, and
- chart options. You may change the defaults and save a new
- configuration file through the Defaults item under the File menu.
- To change paths, click on the path lines and select a new one with
- the item selector. Besides the paths, OPUS.CNF contains the
- following items:
-
- - global column width
- - global cell format
- - auto-cursor status and direction
- - natural order and automatic recalculation statuses
- - show formulas status
- - grid on/off
- - small font (for monochrome)
- - printer:
- - show row/column titles
- - condensed print status
- - show formulas status
- - header
- - footer
- - draft vs. final
- - top, bottom, left, and right margins
- - lines/page
- - charts:
- - all user-controlled options (except selected ranges),
- taken from current active chart
-
- Note: The Temporary Files path refers to the path where the
- temporary metafile and worksheet files will be saved during chart
- printing. More to come...
-
-
-
-
-
-
-
-
-
-
-
- March 12, 1989 p. 18 Opus v. 2.00
-
-
-
-
-
- ///////////////////////////////////////////////
- ///// Charts /////
- ///////////////////////////////////////////////
-
-
-
- NOTE: If GDOS isn't installed, you won't be able to chart. If you
- aren't sure how to create a proper ASSIGN.SYS or OPUS.WID file,
- please see INSTALL.DOC for instructions (it's really pretty easy,
- as I've written two short programs to facilitate the process).
-
-
- >>> The Basics
-
- The charting facility is implemented as a mode separate from the
- worksheet. To create a chart, you first select ranges from the
- worksheet for the chart data sets, and then select To Chart from
- the worksheet Chart menu. This takes you to a new screen and menu
- bar, from which you may customize the chart's appearance and print
- it. Opus displays the chart in a window whose maximum size is 8
- inches wide by 5 inches tall, and the screen display is a very
- close approximation of the final printer output. Finally, to get
- back to the worksheet, select To Opus from the chart File menu.
- Note that you can easily flip back and forth by pressing the
- control-C key.
-
- In the following sections, I'll describe some of the charting
- conventions. Since I feel the charting features are mostly
- intuitively obvious, afterwards I will simply run through the menu
- items and explain some of the subtler points, leaving the rest to
- experimentation. However, it is probably a good idea to read the
- section on saving metafiles and printing charts, which are found
- under the "File" heading.
-
-
- >>> Axis Naming Conventions
-
- All chart types except Pie are essentially plots of the equation
- y = f(x), where y is a variable that depends on the value of x. X
- is typically associated with the horizontal axis and y with the
- vertical, but since Opus allows rotation of the axes, this
- distinction can become blurred. Since x is more properly referred
- to as the "independent variable" and y as the "dependent
- variable," I call the axes "Dependent Axis" and "Independent
- Axis."
-
-
- >>> Data Series
-
- A data series is simply a set of values associated with an axis
- variable. The Independent Axis may have only one associated data
- series, but you may specify up to six Dependent Axis series,
- identified by the letters A-F. To select a range as a data series,
- first select a worksheet range, drop down the worksheet Chart
- menu, and click on the desired item under the greyed-out "Data
- Ranges" label. A small dialog appears, containing the range
- definition. Press OK to complete the process, and the chosen menu
- item will be checked to indicate it's in use. To delete a series,
-
-
- March 12, 1989 p. 19 Opus v. 2.00
-
-
-
-
-
- click on the appropriate menu item and click on the Clear button
- within the select-range dialog.
-
- In order to produce a Pie chart, you must first select a range for
- the Independent/Pie series (this one does double-duty). To produce
- any of the other chart types, you must select at least one
- dependent variable range. The dependent and independent variables
- are associated exactly as for the worksheet regression functions.
- That is, ranges may extend over more than one column; they are
- associated on a row by row basis. Also, it is perfectly legal to
- have an independent value without a corresponding dependent value,
- but the reverse is not true.
-
- Finally, you may specify labels for the independent range for any
- chart type except Pie; if the first cell within the independent
- range is a label, all the rest must also be labels. The labels
- have implicit values of 0, 1, 2, ...
-
-
- >>> Plotting Standard Error Bars and Regression Lines
-
- These may be automatically plotted, providing you've created the
- formulas in the worksheet. Simply associate the ranges with the
- appropriate data series. Note that for regression, you must select
- the slope and y-intercept cells as a range, and the slope must be
- the first cell in the range.
-
-
- >>> The Screen Display
-
- The size of the chart as displayed on the screen is very nearly
- the same as the final printed size, and the relationships between
- objects are practically identical between the screen and printer.
- When you alter the chart size, you will find that the window
- containing it expands or shrinks, and it is centered at all times.
- The window size corresponds to the chart area, with a 0.1 inch
- margin around all sides. It also reflects the "frame" that will
- contain the chart when it's imported as a metafile into another
- program.
-
- Since redrawing the screen can take a couple of seconds, I thought
- it preferable to redraw the screen only when requested. Thus, you
- may make many changes affecting a chart's appearance, and when
- done, press 'D' to force a redraw. About the only time the chart
- is drawn without the user's request is when he flips over from the
- worksheet, changes the chart size, or selects a new chart with the
- chart switcher.
-
-
- >>> Markers
-
- The objects indicating plotted points are called markers. For line
- and scatter charts, the markers are as follows: data series A:
- circle, B: square, C: up triangle, D: cross, E: down triangle, F:
- plus. Bar, pie, and area markers are differentiated on the basis
- of fill pattern. Be aware that in color, the circle marker may
- appear as a plus sign at the standard size of 0.08 inches due to
-
-
-
- March 12, 1989 p. 20 Opus v. 2.00
-
-
-
-
-
- the limited resolution, but it will print fine (details on
- altering the size follow).
-
-
- >>> The Chart Switcher
-
- Opus supports four charts per worksheet, and you select them
- through the Chart Switcher dialog. This dialog is accessible from
- both the worksheet Chart menu and the chart File menu. To restore
- a chart to the default settings and clear all range definitions
- for that chart, click on the Restore Defaults button.
-
-
- >>> Measuring
-
- Many dialogs allow you to alter the sizes of objects; Opus uses
- inches for all measurements.
-
-
- >>> The File Menu
-
- A. Save Metafile...
-
- Opus is capable of saving two types of metafiles, a
- standard one (.GEM) suitable for programs that read
- metafiles, like Publisher ST, and a special one (.GEO)
- intended for later printing by OutChart. Opus will ask
- you to specify the format before allowing you to choose
- a file name; choose "Standard" if you intend to load the
- metafile from another (unrelated) application and
- ".GEO" if you plan on printing the file from OutChart.
- Note: OutChart doesn't like standard metafiles at all;
- please feed it .GEO files, unless you enjoy "Corrupted
- Metafile" error messages (read on for explanation).
-
- Although programs like Publisher ST allow scaling of
- imported metafiles, for best results you should keep the
- relative horizontal and vertical dimensions the same.
-
- You may notice that the square marker types vary in size
- somewhat in a metafile imported into Publisher, even
- though the chart is set to the right size. This is
- simply a consequence of round-off error in calculating
- the size of the box on the screen (although the box is a
- square by metafile standards, some round-off error
- occurs depending on where the box is to be located on
- the screen or page). As you would expect, this effect
- decreases in significance as the resolution of the
- output device increases; that is, it's most noticeable
- on the color monitor and hardly noticeable on a 150 DPI
- printer. Before printing a chart, Opus saves a temporary
- metafile which it later interprets; Opus isn't afflicted
- with similar round-off errors because it uses some
- special metafile commands to ensure uniform sizes for
- markers. OutChart metafiles contain these special
- commands as well. Unfortunately, other programs wouldn't
- know how to interpret these special commands, so "Save
- Metafile" can also save a standard one that should be
-
-
- March 12, 1989 p. 21 Opus v. 2.00
-
-
-
-
-
- compatible with any program that claims to load
- metafiles.
-
- B. Print...
-
- Prints the chart. An option for a final formfeed is
- present, since some printer drivers execute a formfeed
- when Opus closes the printer workstation, but others
- don't. For details on sizing the chart and placing it on
- the page, please refer to Chart Dimensions under "The
- Edit Menu." See the file OUTCHART.DOC as well for an
- alternative to printing from within Opus.
-
- To conserve memory, Opus loads the printer driver and
- fonts at print-time. The process is as follows:
- 1. Opus saves a metafile and the worksheet, in the
- path specified for Temporary files
- 2. Opus releases the worksheet memory and screen
- font memory to the system,
- 3. Opus loads the printer driver and fonts,
- 4. Opus reads in the metafile and prints the chart,
- 5. Opus releases the printer driver and font
- memory,
- 6. Opus reloads the screen fonts,
- 7. Opus reloads the worksheet,
- 8. Opus deletes the temporary metafile and
- worksheet file.
- For this to work, several conditions must be satisfied.
- First, you must have your GDOS disk in the boot drive or
- have the files set up on a hard drive. Second, you must
- specify a drive with enough free space to store the
- temporary metafile and worksheet files (metafiles
- typically range 2-10K; worksheet files vary considerably
- more). Third, you must have enough free RAM in the
- system to load the printer driver and fonts. FONTWID.PRG
- provides this information, when you create your OPUS.WID
- file. When you first load Opus, before entering any
- data, check Statistics under the worksheet Options menu
- and make sure the System Memory is greater than or equal
- to the memory required to print, as given by FONTWID.
-
- Although printing is a rather disk-intensive process, it
- really is pretty fast on a hard drive system. For best
- results on any system, set the Temporary Files path to a
- RAM disk, but make sure you have enough free RAM to
- print!
-
- Finally, I should note that the ST's memory allocation
- system is flawed. Under some essentially unpredictable
- conditions, after printing you may find yourself with
- less worksheet RAM than before. This is due to memory
- fragmentation and is generally not a problem, unless
- your worksheet is already pushing the free RAM limits.
- In this case, you may find yourself with too little
- memory to reload the worksheet. To protect yourself from
- this, always save your worksheet before printing a
- chart. Fortunately, the fragmentation seems to occur
- only with the first printout; I've printed more than 10
-
-
- March 12, 1989 p. 22 Opus v. 2.00
-
-
-
-
-
- charts in a single session with no problems beyond
- losing 30K of worksheet space due to the fragmentation.
-
- C. Load/Save Chart
-
- Presently not implemented, since four charts are saved
- with the worksheet. If there's enough demand, I may add
- these in a future update.
-
- D. Chart Switcher...
-
- Allows you to select any of the four charts. To simply
- switch from one chart to another without calling this
- dialog, press the appropriate number key.
-
-
- >>> The Edit Menu
-
- A. Axes
-
- Allows you to fine-tune the axis appearance as needed.
- To switch from editing one axis to the other, click on
- the shaded title bar at the top of the dialog. I believe
- all the options are pretty self-explanatory, except "the
- axis crosses other axis at tic mark#" option. Opus
- always tries to determine a "nice" place for the axes to
- cross one another. You may override the default choice
- by clicking on the number field. This will highlight it
- and enable the up and down arrows beside it. You may
- then increase or decrease the value by clicking on the
- arrows. Note that tic# 0 refers to the lowest tic on the
- vertical axis and the leftmost tic on the horizontal
- one.
-
- B. Chart Dimensions
-
- You may create charts of any size up to 8 inches wide by
- 5 inches tall. You may specify the placement of the
- chart on the page through the left and top margin
- values. Some printer drivers support only an 8x10 inch
- area, such as my Migraph Deskjet drivers. Thus, to
- horizontally center a chart 7 inches wide and 5 inches
- tall, I specify 0.5 inches as my left margin (left
- margin = (8-7)/2). To vertically center the same chart,
- I specify 2.5 inches as the top margin (top margin =
- (10-5)/2). Some printer drivers may allow printing to
- the entire 8.5 inch width of a page (or 11 inch height),
- so you may have to experiment a bit to determine the
- proper offsets. Remember, when you create a chart AxB
- inches in size, these numbers include a 0.1 inch margin
- around the entire chart area.
-
- C. Legend
-
- A legend allows you to give a label to each of the data
- series on multiple-series charts. The legend may appear
- to the right of the chart or below it, and the "legend
- labels" are preceded by the marker associated with the
-
-
- March 12, 1989 p. 23 Opus v. 2.00
-
-
-
-
-
- series. To change the size of these legend markers,
- enter a new value into the Chart Dimensions dialog under
- the "Marker Size" field. For bar, pie, and area charts,
- the marker is a small filled box, and the size of these
- markers is twice the size entered under Marker Size (I
- did it this way so I could easily flip between scatter
- and bar charts and not worry about getting huge chart
- markers or tiny legend markers).
-
- The Edit button allows you to create or modify the
- legend labels. You will note 12 lines in this dialog;
- the last six are for Pie charts, where each slice may
- have a legend entry. When you select a range for legend
- text from the worksheet, the labels are copied into the
- legend text array and are from that point separate from
- the worksheet.
-
- D. Pie Appearance
-
- You may have pie slice values, percentages, and legend
- labels appear by the slices or within the legend, in
- various combinations. If you choose "By Slices" for some
- of these and have the standard legend appear to the
- right of the Pie, the slice labels may overlap the
- legend (sorry, but this is the only case where the chart
- doesn't get out of the way properly. Maybe next
- revision). To correct for this, you may enter a larger
- value for the Legend distance into the Chart Dimensions
- dialog.
-
- E. Scaling
-
- Opus generally selects a nice numeric range for your
- data. To override the defaults, invoke the scaling
- dialog and click on the entry you wish to change (you
- may not edit it otherwise). It will be highlighted,
- indicating user settings are in effect.
-
- F. Titles
-
- Opus provides two-line titles for each axis and the
- chart itself. Independent axis titles are shown as I1:
- and I2:, while dependent axis titles are shown as D1:
- and D2:. Just as with legends, you may copy a worksheet
- range into the titles array. You may then edit or create
- new entries through the Titles dialog. To change font or
- special effects, click on the entry you wish to change,
- and the font selector will appear. To turn off titles,
- uncheck the box at the upper right of the title lines.
-
- G. Values by Markers
-
- If this is in effect, Opus displays the underlying value
- of a marker in an appropriate place for scatter, line,
- bar, and stacked bar charts. Use Pie Appearance to
- perform this action for Pie charts.
-
-
-
-
- March 12, 1989 p. 24 Opus v. 2.00
-
-
-
-
-
- >>> The Options Menu
-
- The items under this menu all act as on/off switches.
-
- A. Character Spacing
-
- When on, Opus uses the information from OPUS.WID to
- determine the width of text on the printer. With this
- value, it's possible to scale the text string so that it
- occupies the same relative width on the screen as it
- does on the printer, allowing a much better screen
- approximation of the final output. This can be very
- important, since many screen fonts are much wider than
- their printer counterparts; it's especially important
- when you want to display text centered within a box, as
- for a chart legend, because the box dimensions are
- calculated based on the size of the string.
-
- Note that when turned on, characters may overlap. This
- can be especially bad for the vertical axis title on a
- color system, but remember, the true extent of the text
- is shown (even though it may not be readable!).
-
- Although this feature has no effect upon printing, it
- should be left on when saving a standard metafile. That
- way, object dimensions are calculated based upon printer
- font widths. When you import such a metafile into
- Publisher ST, the strings may appear to exceed the
- boundaries of a legend box, for example, since Publisher
- doesn't perform the "width scaling" on metafile text
- that it does on regular text. Fear not, the metafile
- will print correctly! If you had saved the metafile
- without character spacing, it would look perfect on the
- screen in Publisher ST, but the legend box would print
- too large, leaving a very noticeable gap at the right
- border of the box. This is a true tradeoff, and it's a
- consequence of the NON-device independence of GDOS fonts
- (I want display Postscript!)
-
- B. Regression
-
- This causes regression lines to be displayed for scatter
- charts, provided you have defined ranges for the
- regression values. Although you may perform regression
- on non-linear models, at present Opus only plots the
- linear model properly (others may be supported in future
- releases).
-
- C. Rotate Axes
-
- Makes the current horizontal axis vertical and the
- current vertical axis horizontal.
-
- D. Show Border
-
- Draws a full box around all charts except Pie.
-
-
-
-
- March 12, 1989 p. 25 Opus v. 2.00
-
-
-
-
-
- E. Standard Error Bars
-
- This causes the error bars to be displayed, provided you
- have defined ranges for the error values. Available for
- scatter, line, and bar charts.
-
-
- >>> The Types Menu
-
- A. Area
-
- Plots an area chart. All dependent values should be
- either positive or negative, with no mixing (or, if
- anyone can tell me a meaningful way to plot an area
- chart with both positive and negative values, I'll try
- to implement it). Maximum number of independent axis
- values (categories): 48.
-
- B. Bar
-
- Plots a bar chart. Use Bar Spacing to vary width of bars
- and distance of bars from tics. Maximum number of
- categories: 48.
-
- C. Line
-
- Essentially a "connect the dots" scatter plot. No limit
- to number of points.
-
- D. Pie
-
- Plots a pie chart with up to 12 slices. You may explode
- any number of slices by clicking on them. Both the Chart
- titles and horizontal axis title are printed, if
- defined.
-
- E. Scatter
-
- Scatter plot. No formal limit to number of data points.
-
- F. Stacked Bar
-
- The cautions described for area charts apply here as
- well.
-
-
- >>> The Special Menu
-
- Currently, Fill Pattern is the only item available, but object
- oriented drawing features may appear here in a future release. To
- change the fill pattern for a series, select the series number
- from the Fill Pattern dialog (#1-6 = ranges A-F, while #7-12 refer
- to the remaining pie slices). Then click on the new pattern and
- press OK. If you are viewing a bar, pie, or stacked bar chart,
- simply double-click within a marker belonging to the series you
- wish to change; the Fill Pattern dialog will appear, indicating
- the chosen series. Pie slices are numbered from 1-12, counter-
- clockwise.
-
-
- March 12, 1989 p. 26 Opus v. 2.00
-
-
-
-
-
- >>> Future Plans
-
- Although I feel this version of Opus is quite complete, there
- remain several things I would like to add, such as date/time and
- string functions to the worksheet. Also high on my list of
- priorities is implementation of some simple object oriented
- drawing features for the charting facility. Another possibility is
- a curve-fitting feature, which would generate a smooth curve
- through a series of points. Finally, I'm always open to ideas, so
- let me know what you would like to see.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- March 12, 1989 p. 27 Opus v. 2.00
-
-